SWCmod Function

public function SWCmod(swc, wp, fc, theta) result(f)

soil water content modifier

Reference:

Cox, P. M., C. Huntingford, and R. J. Harding, 1998: A canopy conductance and photosynthesis model for use in a GCM land surface scheme. J. Hydrol., 212–213, 79–94

Arguments

Type IntentOptional Attributes Name
real(kind=float), intent(in) :: swc

actual soil water content [m3/m3]

real(kind=float), intent(in) :: wp

soil wilting point [m3/m3]

real(kind=float), intent(in) :: fc

soil field capacity [m3/m3]

real(kind=float), intent(in) :: theta

empirical parameter to compute soil water content modifier

Return Value real(kind=float)


Variables

Type Visibility Attributes Name Initial
real(kind=float), public :: beta

Source Code

FUNCTION  SWCmod &
!
(swc, wp, fc, theta) &
!
RESULT (f)

IMPLICIT NONE

!Arguments with intent (in):
REAL (KIND = float), INTENT (IN) :: swc !! actual soil water content [m3/m3]
REAL (KIND = float), INTENT (IN) :: wp !! soil wilting point [m3/m3]
REAL (KIND = float), INTENT (IN) :: fc !! soil field capacity [m3/m3]
REAL (KIND = float), INTENT (IN) :: theta !! empirical parameter to compute soil water content modifier

!local declarations:
REAL (KIND = float) :: f
REAL (KIND = float) :: beta
!---------------------------------------end of declarations--------------------

!compute beta
IF ( swc <= wp ) THEN
   beta = 0.
ELSE IF ( swc > wp .AND. swc < fc ) THEN
    beta = ( swc - wp ) / ( fc - wp )
ELSE !swc >= fc
    beta = 1.
END IF

!compute modifier
f = ( 1. - EXP ( - beta * theta) ) /  ( 1. - EXP ( - theta) )

!final boundary check
IF ( f > 1.) THEN
    f = 1.
END IF

IF ( f < 0.) THEN
    f = 0.
END IF

RETURN
END FUNCTION SWCmod